class Enviroment
!!!199810.cpp!!!	Enviroment()


!!!199938.cpp!!!	~Enviroment()


	/**
	 * / \todo Needs to remove the parent contexts too.
	 * right now this is a memory leak
	 */

	IContext* current;
	do
	{
		current = removeContext();
	}while(current->getParent() != NULL);

	//The last thing we do is remove the
	// EnvContext (Environment context)


	delete m_Context;
	m_Context = NULL;

!!!200066.cpp!!!	getContextInstance() : IContext


	if( m_Context == NULL )
	{
		m_Context = new EnvContext();
	}

	return m_Context;
!!!200194.cpp!!!	addCompoundContext() : IContext

	m_Context = new CompoundContext(m_Context);

	return m_Context;

!!!200322.cpp!!!	addExpressionContext() : IContext

	m_Context = new ExpressionContext(m_Context);

	return m_Context;
!!!200450.cpp!!!	removeContext() : IContext

	IContext* parentContext = m_Context->getParent();

	// In case the parent context is NULL, then its a enviroment context,
	// which means it should always be there.
	// if the parent context != NULL its a Decoration context,
	// and the current context should be removed. and the parent context
	// becomes the new context.
	if( parentContext != NULL)
	{
		delete m_Context;
		m_Context = parentContext;
	}

	return m_Context;

